package cn.ahaoweb.drule.core.compile.translation;

import cn.ahaoweb.drule.core.compile.constant.CompileSymbols;
import cn.ahaoweb.drule.core.compile.structure.DruleBlock;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @Name: 转译后的规则文本结构
 * @Description:
 * @Author: wangzhonghao
 * @Date: 2025/3/1 16:37
 */
@Data
public class TranslatedRuleText extends DruleBlock {

    // 条件
    private List<String> whenText;

    // 结果
    private List<String> thenText;

    /**
     * 将内容翻译为字符串列表。
     *
     * @return 返回翻译后的字符串列表。
     */
    public List<String> translate() {
        List<String> content = new ArrayList<>();
        content.add("规则名称：" + getRuleName());
        content.add("是否开启：" + getEnabled());
        content.add("激活分组：" + getActivationGroup());
        content.add("备注描述：" + getRemark());
        content.add("条件：");
        if (getWhenText() != null && getWhenText().size() > 0) {
            for (String s : getWhenText()) {
                content.add(CompileSymbols.tab + s);
            }
        } else {
            content.add(CompileSymbols.tab + "无");
        }
        content.add("结果：");
        if (getThenText() != null && getThenText().size() > 0) {
            for (String s : getThenText()) {
                content.add(CompileSymbols.tab + s);
            }
        } else {
            content.add(CompileSymbols.tab + "无");
        }
        return content;
    }

}
